科目名: □ソフトウェア基礎特論
担当者: 藤田 毅

対象学年 クラス[001]
講義室 開講学期前期
曜日・時限 単位区分
授業形態 単位数
準備事項
備考

講義の目的・ねらい(講義概要)コンピュータ・ソフトウェアは、複雑かつ大規模なものに加速度的に発展している。
ソフトウェアを構成するのは個々のコンピュータ・プログラムであるが、それらは用いるデータ構造やアルゴリズムの違いによって、処理効率や使い勝手に雲泥の差が生まれる。
ここでは基本的で汎用性の高いデータ構造やアルゴリズムを学び、それらの違いが如何にソフトウェアの設計に影響してくるかを体得する。
○学習・教育目標
プログラムの特性や限界を知る客観的な判断能力を身につける。
与えられた状況に適したアルゴリズムやデータ構造を選択できるようになるため基本的なアルゴリズムを修得する。
講義内容・演習方法(講義企画)○アルゴリズムとプログラム
 アルゴリズム、計算モデル、プログラミング言語
○制御構造とデータ型
 分岐とくりかえし、データとオブジェクト
○手続きと抽象化
 手続き(関数)、再帰手続き、レコード型
○アルゴリズムと計算量
 整列アルゴリズム、計算効率
○オブジェクト指向
 クラス、インスタンス、継承
○動的データ構造
 再帰的データ構造、連結リスト、2分探索木、連想配列
○スタック/キューと探索
 スタックとLIFO,キューとFIFO、状態空間探索問題
評価方法・評価基準(1)輪講でのプレゼンテーションと調査・分析、討論などの学習態度(60%)
(2)課題演習レポート(40%)

(1)+(2)60%以上で合格。
履修の条件(受講上の注意)C、Java、Fortran、VB などいずれかのプログラミング言語によるプログラミングの基礎の学習は経験済み、としている。
未経験者は、学部でのプログラミング入門科目等も受講するとよい。
教科書"久野 靖
Rubyによる情報科学入門
近代科学社
ISBN9784764903623(2008年)"
参考文献
特記事項(その他)